package cn.b.sky.mes.mm.service;

import cn.b.sky.mes.mm.model.PullType;
import cn.b.sky.mes.mm.model.condition.PullTypeCondition;
import cn.b.sky.common.model.BatchJobReport;
import cn.b.sky.common.model.Page;

/**
 * 
 * <strong>Title : PullTypeService.java<br></strong>
 * <strong>Package : cn.b.sky.mes.mm.service<br></strong>
 * <strong>Description : </strong>物料拉动类型业务接口<br> 
 * <strong>Create on : 2016年9月8日 下午1:41:27<br></strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人|修改日期|修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface PullTypeService {

  /**
   * 
   * <strong>Title : getPullTypesByCondition<br></strong>
   * <strong>Description : </strong>分页查询<br> 
   * <strong>Create on : 2016年9月8日 下午1:46:56<br></strong>
   * <p>
   * @param pullingTypeCondition
   * @return
   * Page
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  Page getPullTypesByCondition(PullTypeCondition pullingTypeCondition);

  /**
   * 
   * <strong>Title : getPullTypeByCode<br></strong>
   * <strong>Description : </strong>查询物料拉动类型<br> 
   * <strong>Create on : 2016年9月8日 下午1:55:53<br></strong>
   * <p>
   * @param siteCode
   * @param pullingTypeCode
   * @return
   * PullType
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  PullType getPullTypeByCode(String siteCode, String pullingTypeCode);

  /**
   * 
   * <strong>Title : savePullType<br></strong>
   * <strong>Description : </strong>保存（新建/更新）<br> 
   * <strong>Create on : 2016年9月8日 下午1:47:13<br></strong>
   * <p>
   * @param pullingType
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void savePullType(PullType pullingType);

  /**
   * 
   * <strong>Title : deletePullTypeByCode<br></strong>
   * <strong>Description : </strong>删除<br> 
   * <strong>Create on : 2016年9月8日 下午1:47:35<br></strong>
   * <p>
   * @param siteCode
   * @param pullingTypeCode
   * @return
   * BatchJobReport
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  BatchJobReport deletePullTypeByCode(String siteCode, String pullingTypeCode);
}
